The present invention relates generally to physical unclonable function (PUF) circuits, and more particularly, to an error correction circuit for a PUF circuit.
Financial institutions, governments, and consumer companies, to name a few, generate large amounts of confidential data daily. Confidential data includes financial data, operational data, and personal data of individuals and businesses. Unfortunately, such confidential data often is subject to hacking, so data security and prevention of data theft is extremely important. Cryptography is an essential tool for providing data security in most communication networks. Data security implemented via software typically uses confidential keys such as passwords, personal identification numbers (PIN) and the like, which are stored in a memory. Hackers often try to obtain confidential data by accessing the memory and stealing the confidential keys. To prevent external attacks, physical unclonable function (PUF) circuits are used.
PUF circuits are specialized circuits with applications including key generation and challenge-response authentication. Because of random process variations, no two integrated circuits, even with the same layouts, are identical. Variation is inherent in the fabrication process, and relative variation increases as the fabrication process advances. That is, silicon-based PUFs have differences in their microstructure due to variance in manufacturing conditions. Hence, silicon-based PUFs usually are tamper-proof and resistant to cloning. Delay-based silicon PUF capitalizes on the existence of these variations and uses the unique delay characteristics of each chip to generate secret keys. For example, in a challenge-response system, different PUFs generate distinct responses to the same challenge due to differences in microstructures of the PUFs.
One challenge with PUF circuits is ensuring that the PUF circuit is operating correctly. For example, a PUF circuit may receive an N bit challenge and generate an M bit response. Due to aging and variations in physical conditions, the PUF circuit may generate an erroneous M bit response, which will lead to problems in authenticating the PUF circuit. Errors in the M bit response may be categorized as temporary errors and permanent errors. Temporary errors are caused by varying physical conditions such as temperature, voltage fluctuations, electro-magnetic interference, and the like, while permanent errors are caused by aging of the PUF circuit. The permanent errors do not depend on the physical conditions.
To address the problem of errors, an error correction circuit may be used. An error correction circuit will receive the erroneous response, correct the errors, and provide a corrected response. However, the number of errors that can be corrected by the error correction circuit is limited by a threshold value. And due to aging, the errors may increase over time. If the number of errors is greater than the threshold value, then the error correction circuit will be unable to correct the additional errors and the PUF circuit will output an erroneous response. Errors due to aging may be caused by a decline in health of the PUF circuit.
Hence, it would be advantageous to have a health indicating circuit for a PUF circuit that can identify a decline in health of the PUF circuit. It also would be advantageous to be able to compensate for permanent errors caused by aging.